package test

import (
	"github.com/jinzhu/gorm"
	_ "github.com/jinzhu/gorm/dialects/mysql"
	"time"
)

type User struct {
	Id       uint   `gorm:"AUTO_INCREMENT"`
	Name     string `gorm:"size:50"`
	Age      int    `gorm:"size:3"`
	Birthday *time.Time
	Email    string `gorm:"type:varchar(50);unique_index"`
	PassWord string `gorm:"type:varchar(25)"`
}

var db *gorm.DB

/* func main() {
	db, err := gorm.Open("mysql", "root:root@(127.0.0.1:3306)/test_api?charset=utf8&parseTime=True&loc=Local")
	if err != nil {
		fmt.Errorf("创建数据库连接失败:%v\n", err.Error())
	}
	defer db.Close()
	//
	// // 自动迁移数据结构(table schema)
	// db.AutoMigrate(&User{})
	//
	// // 添加唯一索引
	// db.Model(&User{}).AddUniqueIndex("name_email", "id", "name", "email")
	//
	// // 插入记录
	// db.Create(&User{Name: "ccc", Age: 24, Email: "8372@cc.cn"})
	// db.Create(&User{Name: "ddd", Age: 23, Email: "666@cc.cn"})

	var user User
	var users []User

	fmt.Printf("插入后的全部数据：\n")
	db.Find(&users)
	fmt.Println(users)
	// [{1 ccc 24 <nil> 8372@cc.cn } {2 ddd 23 <nil> 666@cc.cn }]

	// 查询一条记录
	db.First(&user, "name = ?", "ccc")
	fmt.Println("条件查单条记录", user)
	//  {1 ccc 24 <nil> 8372@cc.cn }

	// 更新记录
	db.Model(&user).Update("name", "qqq")
	fmt.Println("更新后的记录", user)
	//  {1 qqq 24 <nil> 8372@cc.cn }

	// // 删除记录
	// db.Delete(&user)

	fmt.Println("删除后查看全部记录")
	db.Find(&users)
	fmt.Println(users)
	// [{2 ddd 23 <nil> 666@cc.cn }]
} */
